home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part1 / 7515 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  1.3 KB

  1. Path: news.th-darmstadt.de!news
  2. From: Enno Sandner <enno@intellektik.informatik.th-darmstadt.de>
  3. Newsgroups: comp.lang.c++
  4. Subject: Re: what happens w/delete called twice ?
  5. Date: Fri, 23 Feb 1996 09:22:22 +0100
  6. Organization: Fachbereich Informatik, TH Darmstadt
  7. Message-ID: <312D793E.41C67EA6@intellektik.informatik.th-darmstadt.de>
  8. References: <kcc.423.0EE12CF6@interaccess.com>
  9. NNTP-Posting-Host: kitz.intellektik.informatik.th-darmstadt.de
  10. Mime-Version: 1.0
  11. Content-Type: text/plain; charset=us-ascii
  12. Content-Transfer-Encoding: 7bit
  13. X-Mailer: Mozilla 2.0 (X11; I; SunOS 4.1.3 sun4m)
  14.  
  15. kcc wrote:
  16. > Hello,
  17. >         Can someone tell me... what happens when delete is called twice for the same
  18. > memory deallocation ie.,
  19. >         SOME_STRUCT     *struct_p       = new SOME STRUCT;
  20. >         if ( foo_a() )
  21. >         {
  22. >                 delete struct_p;
  23. >                 retvalue = 0;
  24. >         }
  25. >         else
  26. >         {
  27. >                 retvalue = foo_b();
  28. >         }
  29. >         delete struct_p;
  30. >         return( retvalue );
  31.  
  32. The behavior is undefined, because the 2nd time delete is
  33. called for a non-object.
  34. In practice usually the heap gets corrupted and later when
  35. you wish to create an object via 'new' the program crashes
  36. or even 'better' 'new' returns a pointer to an already existing
  37. object. 
  38.  
  39.     Enno
  40.